package com.jack.payment.dao.user;

import com.jack.payment.entity.generate.user.UserAuthModel;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserAuthDao {

    /**
     * 指定非2FA 三方验证登录
     * @param secret
     * @return
     */
    UserAuthModel getAppointNot2FAUserAuth(@Param("secret") String secret,
                                           @Param("channel") Integer channel);

    /**
     * 获取用户三方登录信息
     * @param userId
     * @return
     */
    List<UserAuthModel> getAppointUserAuthList(@Param("userId") String userId);

    /**
     * 新增一个用户三方登录信息
     * @param userAuthModel
     * @return
     */
    boolean insertUserAuth(UserAuthModel userAuthModel);

    /**
     * 解绑用户三方账号, 2FA 不在其中
     * @param userId
     * @return
     */
    boolean unbindUserAuth(@Param("userId") String userId,
                           @Param("enable") Integer enable,
                           @Param("channel") Integer channel,
                           @Param("currentTime") Long currentTime);
}
